﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Security;
using DevExpress.Web;
using TheHeGeo.Master;
using TheHeGeo.Util;
using TheHeGeoDao;

namespace TheHeGeo.Home
{
    public partial class Login_English : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Page.Form.DefaultButton = btOk.UniqueID;
            var site = Master as Site;
            if (site != null)
            {
                var lb = site.FindControl("lblTabTxt") as ASPxLabel;
                if (lb != null) lb.Text = "Login";
            }

            if (Request.QueryString["f"] != null&&Request.QueryString["f"].Equals("1"))
            {
                divForgotPwd.Style["display"] = "block";
            }
            else
            {
                lblNoticeNewPwd.Visible = false;
                divForgotPwd.Style["display"] = "none";
            }
        }

        protected void btOk_Click(object sender, EventArgs e)
        {
            Session[SessionConst.SES_USER] = null;
            string pwd = UserHelper.UserPwdEncrypt(txtPwd.Text);
            var nsd = DaoHelper.Entities.NguoiSuDungs.FirstOrDefault(p => p.UserName==(txtUserName.Text) && p.Password==pwd);
            if (nsd == null)
            {
                lblNotice.Visible = true;
            }
            else
            {
                lblNotice.Visible = false;
                Session[SessionConst.SES_USER] = new SessionUser() {NguoiSuDung = nsd };
                Response.Redirect("~/Equipments/EquipmentDefault_English.aspx");
            }
        }


        protected string GetEncodePwd(string pwd)
        {
            return pwd;
        }
        protected void btResetPwd_Click(object sender, EventArgs e)
        {
            var user = DaoHelper.Entities.NguoiSuDungs.FirstOrDefault(p => p.Email == txtEmail.Text);
            if (user == null)
            {
                lblNoticeNewPwd.Text = "Email không tồn tại trong hệ thống,vui lòng kiểm tra lại";
                lblNoticeNewPwd.Visible = true;
            }
            else
            {
                string newPwd = Membership.GeneratePassword(8, 4);
                user.Password = newPwd;
                DaoHelper.Entities.SaveChanges();

                string body = "Bạn đã yêu cầu lấy lại thông tin đăng nhập" + Environment.NewLine +
                              "<br/> Tên đăng nhập:" + user.UserName +
                              "<br/> Mật khẩu mới:" + newPwd;
                var list = new List<string> { txtEmail.Text };
                UserHelper.SendEmail(list, "thehegeo2014@gmail.com ",
                  "Thehegeo.Quên mật khẩu", body,
                  "smtp.gmail.com", 587, "thehegeo2014", "12345@trewq");
                lblNoticeNewPwd.Text = "Mật khẩu của bạn đã được thay đổi, vui lòng kiểm tra email.";
                lblNoticeNewPwd.Visible = true;
            }
        }
    }
}